/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.carrito.jsf.bo;

import com.carrito.jdbc.dao.ImplCiudad;
import com.carrito.jsf.bean.BeanCiudad;
import com.carrito.jsf.persistence.Ciudad;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.beans.factory.annotation.Autowired;


/**
 *
 * @author oscarc
 */
public class CiudadImplBO implements CiudadBO {
    
    
    @Autowired
    private ImplCiudad ciudadDAO;   //Mediante inyeccion de dependecias a traves de Spring en el applicationContext

    @Override
    public void insertar(BeanCiudad obj) {
        Ciudad ciudad = new Ciudad();
        ciudad.setCodigo(obj.getCodigo());
        ciudad.setNombre(obj.getNombre());
        getCiudadDAO().insertar(ciudad);//llama al metodo insertar
    }

    @Override
    public void eliminar(int codigo) {
//        Ciudad ciudad = new Ciudad();
//        ciudad.setCodigo(obj.getCodigo());
//        ciudad.setNombre(obj.getNombre());
        try {
            getCiudadDAO().eliminar(codigo);
        } catch (Exception ex) {
            Logger.getLogger(CiudadImplBO.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    /*
     Metodo que actualiza los datos
     */
    @Override
    public void actualizar(BeanCiudad obj) {
        Ciudad ciudad = new Ciudad();
        ciudad.setCodigo(obj.getCodigo());
        ciudad.setNombre(obj.getNombre());
        getCiudadDAO().actualizar(ciudad);
    }

    /*
     Metodo que consulta los articulos clasificacion
     */
    @Override
    public List<BeanCiudad> consultar() {
         List<BeanCiudad> lista = new ArrayList<BeanCiudad>();
        for (Ciudad obj : getCiudadDAO().consultar()) {
            BeanCiudad bean = new BeanCiudad();
            System.out.println("codigo ------>>>>> " + obj.getCodigo());
            System.out.println("nombre ------>>>>> " + obj.getNombre());
            bean.setCodigo(obj.getCodigo());
            bean.setNombre(obj.getNombre());
            lista.add(bean);
        }
        return lista;
    }

    /**
     * @return the ciudadDAO
     */
    public ImplCiudad getCiudadDAO() {
        return ciudadDAO;
    }

    /**
     * @param ciudadDAO the ciudadDAO to set
     */
    public void setCiudadDAO(ImplCiudad ciudadDAO) {
        this.ciudadDAO = ciudadDAO;
    }


    
}
